#ifndef __OBSERVABLE__
#define __OBSERVABLE__

#include "../includes/includes.h"
#include "Observer.h"

class Observable 
{
	public:
		void registerObserver(Observer * o)
		{
			observers.add(o);
		}

		void removeObserver(Observer * o)
		{
			observers.removeValue(o);
		}

		virtual void notifyObservers() = 0;

	protected:
		Array<Observer *> observers;
				
};

#endif